//////////////////////////////////////////////////////////////////////////
//
// HHeaven Studio Source File
//
// Name:   	IPaletteBase.h
// Desc:		
// 	
// Author:  Kaiming
// Date:	2012/5/6
// Modify:	2012/5/6
// 
//////////////////////////////////////////////////////////////////////////

#ifndef _IPaletteBase_h_
#define _IPaletteBase_h_

#include "cocos2d.h"

struct IPaletteBase
{
	virtual ~IPaletteBase() {}

	//////////////////////////////////////////////////////////////////////////
	// base func
	virtual void init() =0;
	virtual void destroy() =0;

	virtual void display() =0;
	virtual void hide() =0;

	//////////////////////////////////////////////////////////////////////////
	// level stuff
	virtual void restart() =0;

	//////////////////////////////////////////////////////////////////////////
	// color unit execute
	virtual void execute(const cocos2d::CCPoint& start, const cocos2d::CCPoint& end) =0;

	//virtual void 
};

struct SPaletteFrame
{
	int	BLOCK_NUM;
	float BLOCK_SIZE;
	float BLOCK_STARTX;
	float BLOCK_STARTY;
	const char* FRONTPALETTE_IMAGE;

	SPaletteFrame(int blocknum, float blocksize, float blockSX, float blockSY, const char* imagepath)
	{
		BLOCK_NUM = blocknum;
		BLOCK_SIZE = blocksize;
		BLOCK_STARTX = blockSX;
		BLOCK_STARTY = blockSY;

		FRONTPALETTE_IMAGE = imagepath;
	}
};


#endif
